package cn.tedu.BufferedStream;

import java.io.*;
import java.util.HashMap;
import java.util.Map;

/**
 * Date：2022年01月
 * Author：程Sir
 * Name： JavaSE-API
 * Content:
 *      乱序文本进行排序
 */
public class BufferedDemo1 {
    public static void main(String[] args) throws IOException {
        // 创建字符缓冲输出、输入流对象
        BufferedReader reader = new BufferedReader(new FileReader("记事本1.txt"));
        BufferedWriter writer = new BufferedWriter(new FileWriter("记事本copy.txt"));
        // 创建存储数据的Map集合
        Map<String,String> map = new HashMap<>();
        // 创建一个行位标识
        String line = null;
        // 循环读取文本内容
        while ((line=reader.readLine())!=null){
            System.out.println(line);
            // 根据文本的特征，按“.”进行切割
            String[] strs = line.split("\\.");
            // 将切割的两部分放入map集合中，第一部分就是map的key，第二部分就是map的value
            map.put(strs[0],strs[1]);
        }

        // 将读到的数据写出到新的文件操作
        for (int i=1;i<=map.size(); i++){
            // 获取文件中的key
            String key = String.valueOf(i);
            // 获取集合中的value
            String value = map.get(key);
            // 讲key-value写出到新的文本中
            writer.write(key+"."+value);
            // 换新的一行
            writer.newLine();
        }

        // 关闭流连接释放系统资源
        reader.close();
        writer.close();


    }

}
